Micron Document
🎖️GitЯра🎖️


Displaying Raw • Download

feature/settings/src/commonMain/kotlin/org/meshtastic/feature/settings/navigation/ModuleRoute.kt f4506450168d047b225b277620bf0f1d5dcd13b5 (f4506450) Text, 7.88 KB

T8b949e/*
* Copyright (c) 2026 Meshtastic LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
Tff7b72package T7ee787org.meshtastic.feature.settings.navigation

Tff7b72import T7ee787org.jetbrains.compose.resources.DrawableResource
Tff7b72import T7ee787org.jetbrains.compose.resources.StringResource
Tff7b72import T7ee787org.meshtastic.core.model.Capabilities
Tff7b72import T7ee787org.meshtastic.core.navigation.Route
Tff7b72import T7ee787org.meshtastic.core.navigation.SettingsRoute
Tff7b72import T7ee787org.meshtastic.core.resources.Res
Tff7b72import T7ee787org.meshtastic.core.resources.ambient_lighting
Tff7b72import T7ee787org.meshtastic.core.resources.audio
Tff7b72import T7ee787org.meshtastic.core.resources.canned_message
Tff7b72import T7ee787org.meshtastic.core.resources.detection_sensor
Tff7b72import T7ee787org.meshtastic.core.resources.external_notification
Tff7b72import T7ee787org.meshtastic.core.resources.ic_cloud
Tff7b72import T7ee787org.meshtastic.core.resources.ic_data_usage
Tff7b72import T7ee787org.meshtastic.core.resources.ic_group
Tff7b72import T7ee787org.meshtastic.core.resources.ic_light_mode
Tff7b72import T7ee787org.meshtastic.core.resources.ic_message
Tff7b72import T7ee787org.meshtastic.core.resources.ic_notifications
Tff7b72import T7ee787org.meshtastic.core.resources.ic_perm_scan_wifi
Tff7b72import T7ee787org.meshtastic.core.resources.ic_sensors
Tff7b72import T7ee787org.meshtastic.core.resources.ic_settings_remote
Tff7b72import T7ee787org.meshtastic.core.resources.ic_speed
Tff7b72import T7ee787org.meshtastic.core.resources.ic_terminal
Tff7b72import T7ee787org.meshtastic.core.resources.ic_usb
Tff7b72import T7ee787org.meshtastic.core.resources.ic_volume_up
Tff7b72import T7ee787org.meshtastic.core.resources.mesh_beacon
Tff7b72import T7ee787org.meshtastic.core.resources.mqtt
Tff7b72import T7ee787org.meshtastic.core.resources.neighbor_info
Tff7b72import T7ee787org.meshtastic.core.resources.paxcounter
Tff7b72import T7ee787org.meshtastic.core.resources.range_test
Tff7b72import T7ee787org.meshtastic.core.resources.remote_hardware
Tff7b72import T7ee787org.meshtastic.core.resources.serial
Tff7b72import T7ee787org.meshtastic.core.resources.status_message
Tff7b72import T7ee787org.meshtastic.core.resources.store_forward
Tff7b72import T7ee787org.meshtastic.core.resources.tak
Tff7b72import T7ee787org.meshtastic.core.resources.telemetry
Tff7b72import T7ee787org.meshtastic.proto.AdminMessage
Tff7b72import T7ee787org.meshtastic.proto.Config
Tff7b72import T7ee787org.meshtastic.proto.DeviceMetadata

Tff7b72enum Tff7b72class T56d364ModuleRouteTb4b4b4(
Tff7b72val Te6edf3titleTb4b4b4: Te6edf3StringResourceTb4b4b4,
Tff7b72val Te6edf3routeTb4b4b4: Te6edf3RouteTb4b4b4,
Tff7b72val Te6edf3iconTb4b4b4: Te6edf3DrawableResource? Tff7b72= Tff7b72nullTb4b4b4,
Tff7b72val Te6edf3typeTb4b4b4: Tffa657Int Tff7b72= T79c0ff0Tb4b4b4,
Tff7b72val Te6edf3isSupportedTb4b4b4: Tb4b4b4(Te6edf3CapabilitiesTb4b4b4) Tff7b72-Tff7b72> Tffa657Boolean Tff7b72= Tb4b4b4{ Tff7b72true Tb4b4b4}Tb4b4b4,
Tff7b72val Te6edf3isApplicableTb4b4b4: Tb4b4b4(Te6edf3ConfigTb4b4b4.Te6edf3DeviceConfigTb4b4b4.Te6edf3RoleTff7b72?Tb4b4b4) Tff7b72-Tff7b72> Tffa657Boolean Tff7b72= Tb4b4b4{ Tff7b72true Tb4b4b4}Tb4b4b4,
T8b949e// False when the firmware has no ModuleConfigType to request this module per-request; the editor then relies on the
T8b949e// connect-time config sync instead of a get (MeshBeacon: MeshBeaconConfig is in ModuleConfig but not in the enum).
Tff7b72val Te6edf3refreshableTb4b4b4: Tffa657Boolean Tff7b72= Tff7b72trueTb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3MQTTTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mqttTb4b4b4, Te6edf3SettingsRouteTb4b4b4.Te6edf3MQTTTb4b4b4, Te6edf3ResTb4b4b4.Te6edf3drawableTb4b4b4.Te6edf3ic_cloudTb4b4b4, Te6edf3AdminMessageTb4b4b4.Te6edf3ModuleConfigTypeTb4b4b4.Te6edf3MQTT_CONFIGTb4b4b4.Te6edf3valueTb4b4b4)Tb4b4b4,
Te6edf3SERIALTb4b4b4(
Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3serialTb4b4b4,
Te6edf3SettingsRouteTb4b4b4.Te6edf3SerialTb4b4b4,
Te6edf3ResTb4b4b4.Te6edf3drawableTb4b4b4.Te6edf3ic_usbTb4b4b4,
Te6edf3AdminMessageTb4b4b4.Te6edf3ModuleConfigTypeTb4b4b4.Te6edf3SERIAL_CONFIGTb4b4b4.Te6edf3valueTb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3EXT_NOTIFICATIONTb4b4b4(
Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3external_notificationTb4b4b4,
Te6edf3SettingsRouteTb4b4b4.Te6edf3ExtNotificationTb4b4b4,
Te6edf3ResTb4b4b4.Te6edf3drawableTb4b4b4.Te6edf3ic_notificationsTb4b4b4,
Te6edf3AdminMessageTb4b4b4.Te6edf3ModuleConfigTypeTb4b4b4.Te6edf3EXTNOTIF_CONFIGTb4b4b4.Te6edf3valueTb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3STORE_FORWARDTb4b4b4(
Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3store_forwardTb4b4b4,
Te6edf3SettingsRouteTb4b4b4.Te6edf3StoreForwardTb4b4b4,
Te6edf3ResTb4b4b4.Te6edf3drawableTb4b4b4.Te6edf3ic_terminalTb4b4b4,
Te6edf3AdminMessageTb4b4b4.Te6edf3ModuleConfigTypeTb4b4b4.Te6edf3STOREFORWARD_CONFIGTb4b4b4.Te6edf3valueTb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3RANGE_TESTTb4b4b4(
Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3range_testTb4b4b4,
Te6edf3SettingsRouteTb4b4b4.Te6edf3RangeTestTb4b4b4,
Te6edf3ResTb4b4b4.Te6edf3drawableTb4b4b4.Te6edf3ic_speedTb4b4b4,
Te6edf3AdminMessageTb4b4b4.Te6edf3ModuleConfigTypeTb4b4b4.Te6edf3RANGETEST_CONFIGTb4b4b4.Te6edf3valueTb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3TELEMETRYTb4b4b4(
Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3telemetryTb4b4b4,
Te6edf3SettingsRouteTb4b4b4.Te6edf3TelemetryTb4b4b4,
Te6edf3ResTb4b4b4.Te6edf3drawableTb4b4b4.Te6edf3ic_data_usageTb4b4b4,
Te6edf3AdminMessageTb4b4b4.Te6edf3ModuleConfigTypeTb4b4b4.Te6edf3TELEMETRY_CONFIGTb4b4b4.Te6edf3valueTb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3CANNED_MESSAGETb4b4b4(
Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3canned_messageTb4b4b4,
Te6edf3SettingsRouteTb4b4b4.Te6edf3CannedMessageTb4b4b4,
Te6edf3ResTb4b4b4.Te6edf3drawableTb4b4b4.Te6edf3ic_messageTb4b4b4,
Te6edf3AdminMessageTb4b4b4.Te6edf3ModuleConfigTypeTb4b4b4.Te6edf3CANNEDMSG_CONFIGTb4b4b4.Te6edf3valueTb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3AUDIOTb4b4b4(
Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3audioTb4b4b4,
Te6edf3SettingsRouteTb4b4b4.Te6edf3AudioTb4b4b4,
Te6edf3ResTb4b4b4.Te6edf3drawableTb4b4b4.Te6edf3ic_volume_upTb4b4b4,
Te6edf3AdminMessageTb4b4b4.Te6edf3ModuleConfigTypeTb4b4b4.Te6edf3AUDIO_CONFIGTb4b4b4.Te6edf3valueTb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3REMOTE_HARDWARETb4b4b4(
Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3remote_hardwareTb4b4b4,
Te6edf3SettingsRouteTb4b4b4.Te6edf3RemoteHardwareTb4b4b4,
Te6edf3ResTb4b4b4.Te6edf3drawableTb4b4b4.Te6edf3ic_settings_remoteTb4b4b4,
Te6edf3AdminMessageTb4b4b4.Te6edf3ModuleConfigTypeTb4b4b4.Te6edf3REMOTEHARDWARE_CONFIGTb4b4b4.Te6edf3valueTb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3NEIGHBOR_INFOTb4b4b4(
Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3neighbor_infoTb4b4b4,
Te6edf3SettingsRouteTb4b4b4.Te6edf3NeighborInfoTb4b4b4,
Te6edf3ResTb4b4b4.Te6edf3drawableTb4b4b4.Te6edf3ic_groupTb4b4b4,
Te6edf3AdminMessageTb4b4b4.Te6edf3ModuleConfigTypeTb4b4b4.Te6edf3NEIGHBORINFO_CONFIGTb4b4b4.Te6edf3valueTb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3AMBIENT_LIGHTINGTb4b4b4(
Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3ambient_lightingTb4b4b4,
Te6edf3SettingsRouteTb4b4b4.Te6edf3AmbientLightingTb4b4b4,
Te6edf3ResTb4b4b4.Te6edf3drawableTb4b4b4.Te6edf3ic_light_modeTb4b4b4,
Te6edf3AdminMessageTb4b4b4.Te6edf3ModuleConfigTypeTb4b4b4.Te6edf3AMBIENTLIGHTING_CONFIGTb4b4b4.Te6edf3valueTb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3DETECTION_SENSORTb4b4b4(
Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3detection_sensorTb4b4b4,
Te6edf3SettingsRouteTb4b4b4.Te6edf3DetectionSensorTb4b4b4,
Te6edf3ResTb4b4b4.Te6edf3drawableTb4b4b4.Te6edf3ic_sensorsTb4b4b4,
Te6edf3AdminMessageTb4b4b4.Te6edf3ModuleConfigTypeTb4b4b4.Te6edf3DETECTIONSENSOR_CONFIGTb4b4b4.Te6edf3valueTb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3PAXCOUNTERTb4b4b4(
Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3paxcounterTb4b4b4,
Te6edf3SettingsRouteTb4b4b4.Te6edf3PaxcounterTb4b4b4,
Te6edf3ResTb4b4b4.Te6edf3drawableTb4b4b4.Te6edf3ic_perm_scan_wifiTb4b4b4,
Te6edf3AdminMessageTb4b4b4.Te6edf3ModuleConfigTypeTb4b4b4.Te6edf3PAXCOUNTER_CONFIGTb4b4b4.Te6edf3valueTb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3STATUS_MESSAGETb4b4b4(
Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3status_messageTb4b4b4,
Te6edf3SettingsRouteTb4b4b4.Te6edf3StatusMessageTb4b4b4,
Te6edf3ResTb4b4b4.Te6edf3drawableTb4b4b4.Te6edf3ic_messageTb4b4b4,
Te6edf3AdminMessageTb4b4b4.Te6edf3ModuleConfigTypeTb4b4b4.Te6edf3STATUSMESSAGE_CONFIGTb4b4b4.Te6edf3valueTb4b4b4,
Te6edf3isSupported Tff7b72= Tb4b4b4{ Tffa657itTb4b4b4.Te6edf3supportsStatusMessage Tb4b4b4}Tb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3TAKTb4b4b4(
Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3takTb4b4b4,
Te6edf3SettingsRouteTb4b4b4.Te6edf3TAKTb4b4b4,
Te6edf3ResTb4b4b4.Te6edf3drawableTb4b4b4.Te6edf3ic_groupTb4b4b4,
Te6edf3AdminMessageTb4b4b4.Te6edf3ModuleConfigTypeTb4b4b4.Te6edf3TAK_CONFIGTb4b4b4.Te6edf3valueTb4b4b4,
Te6edf3isSupported Tff7b72= Tb4b4b4{ Tffa657itTb4b4b4.Te6edf3supportsTakConfig Tb4b4b4}Tb4b4b4,
Te6edf3isApplicable Tff7b72= Tb4b4b4{ Tffa657it Tff7b72=Tff7b72= Te6edf3ConfigTb4b4b4.Te6edf3DeviceConfigTb4b4b4.Te6edf3RoleTb4b4b4.Te6edf3TAK Tff7b72|Tff7b72| Tffa657it Tff7b72=Tff7b72= Te6edf3ConfigTb4b4b4.Te6edf3DeviceConfigTb4b4b4.Te6edf3RoleTb4b4b4.Te6edf3TAK_TRACKER Tb4b4b4}Tb4b4b4,
Tb4b4b4)Tb4b4b4,

T8b949e// MeshBeaconConfig has no AdminMessage.ModuleConfigType value upstream — the editor reads from the connect-time
T8b949e// config sync, so refreshable=false (no per-module get is issued). Gated to firmware that ships the beacon module.
Te6edf3MESH_BEACONTb4b4b4(
Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3mesh_beaconTb4b4b4,
Te6edf3SettingsRouteTb4b4b4.Te6edf3MeshBeaconTb4b4b4,
Te6edf3ResTb4b4b4.Te6edf3drawableTb4b4b4.Te6edf3ic_perm_scan_wifiTb4b4b4,
Te6edf3isSupported Tff7b72= Tb4b4b4{ Tffa657itTb4b4b4.Te6edf3supportsMeshBeacon Tb4b4b4}Tb4b4b4,
Te6edf3refreshable Tff7b72= Tff7b72falseTb4b4b4,
Tb4b4b4)Tb4b4b4,
Tb4b4b4;

Tff7b72val Te6edf3bitfieldTb4b4b4: Tffa657Int
Tff7b72getTb4b4b4(Tb4b4b4) Tff7b72=
Tff7b72when Tb4b4b4(Tff7b72thisTb4b4b4) Tb4b4b4{
Te6edf3MQTT Tff7b72-Tff7b72> T79c0ff0Te6edf3x0001

Te6edf3SERIAL Tff7b72-Tff7b72> T79c0ff0Te6edf3x0002

Te6edf3EXT_NOTIFICATION Tff7b72-Tff7b72> T79c0ff0Te6edf3x0004

Te6edf3STORE_FORWARD Tff7b72-Tff7b72> T79c0ff0Te6edf3x0008

Te6edf3RANGE_TEST Tff7b72-Tff7b72> T79c0ff0Te6edf3x0010

Te6edf3TELEMETRY Tff7b72-Tff7b72> T79c0ff0Te6edf3x0020

Te6edf3CANNED_MESSAGE Tff7b72-Tff7b72> T79c0ff0Te6edf3x0040

Te6edf3AUDIO Tff7b72-Tff7b72> T79c0ff0Te6edf3x0080

Te6edf3REMOTE_HARDWARE Tff7b72-Tff7b72> T79c0ff0Te6edf3x0100

Te6edf3NEIGHBOR_INFO Tff7b72-Tff7b72> T79c0ff0Te6edf3x0200

Te6edf3AMBIENT_LIGHTING Tff7b72-Tff7b72> T79c0ff0Te6edf3x0400

Te6edf3DETECTION_SENSOR Tff7b72-Tff7b72> T79c0ff0Te6edf3x0800

Te6edf3PAXCOUNTER Tff7b72-Tff7b72> T79c0ff0Te6edf3x1000

Te6edf3STATUS_MESSAGE Tff7b72-Tff7b72> T79c0ff0Te6edf3x0000

T8b949e// Not excludable yet
Te6edf3TAK Tff7b72-Tff7b72> T79c0ff0Te6edf3x0000

T8b949e// Not excludable yet

Te6edf3MESH_BEACON Tff7b72-Tff7b72> T79c0ff0Te6edf3x0000 T8b949e// Not excludable yet
Tb4b4b4}

Tff7b72companion Tff7b72object Tb4b4b4{
Tff7b72fun Td2a8fffilterExcludedFromTb4b4b4(Te6edf3metadataTb4b4b4: Te6edf3DeviceMetadata?Tb4b4b4, Te6edf3roleTb4b4b4: Te6edf3ConfigTb4b4b4.Te6edf3DeviceConfigTb4b4b4.Te6edf3RoleTff7b72?Tb4b4b4)Tb4b4b4: Te6edf3ListTff7b72<Te6edf3ModuleRouteTff7b72> Tb4b4b4{
Tff7b72val Te6edf3capabilities Tff7b72= Te6edf3CapabilitiesTb4b4b4(Te6edf3metadataTff7b72?.Te6edf3firmware_versionTb4b4b4)
Tff7b72return Te6edf3entriesTb4b4b4.Te6edf3filter Tb4b4b4{
Tff7b72val Te6edf3excludedModules Tff7b72= Te6edf3metadataTff7b72?.Te6edf3excluded_modules Tff7b72?: T79c0ff0
Tff7b72val Te6edf3isExcluded Tff7b72= Tb4b4b4(Te6edf3excludedModules Te6edf3and Tffa657itTb4b4b4.Te6edf3bitfieldTb4b4b4) Tff7b72!Tff7b72= T79c0ff0
Tff7b72!Te6edf3isExcluded Tff7b72&Tff7b72& Tffa657itTb4b4b4.Te6edf3isSupportedTb4b4b4(Te6edf3capabilitiesTb4b4b4) Tff7b72&Tff7b72& Tffa657itTb4b4b4.Te6edf3isApplicableTb4b4b4(Te6edf3roleTb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Served by rngit 1.5.0 - Generated in 0.06s